package org.bb.collectionTools.comparedemo2;


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

/**
 * @author Administrator 班主任类
 * 
 */
public class ClassMaster {
	// 属性
	// 学生List集合【成绩单】
	private List<Student> lstStus;
	// 行为

	/**
	 * 成绩排序行为
	 */
	public void sortStuScore() {
		// 不为空，则进行排序处理
		if (lstStus != null && lstStus.size() > 0) {
			// 调用集合工具类进行排序，对学生成绩进行排序
			Collections.sort(lstStus, new StuComparator());
		}
	}

	/**
	 * 初始化学生名单
	 */
	public void init() {

		Scanner sc = new Scanner(System.in);
		System.out.println("请输入需要录入成绩的学生人数：");
		// 接收成员人数
		int count = sc.nextInt();
		// 初始化学生数组
		lstStus = new ArrayList<>();

		// for循环一次录入每个成员的信息
		for (int i = 0; i < count; i++) {
			// 初始化父类信息
			System.out.println("请输入学生姓名：");
			String strName = sc.next();
			System.out.println("请输入学生学号：");
			String strNo = sc.next();
			System.out.println("请输入学生成绩：");
			int score = sc.nextInt();
			// 创建一个学生对象，放入学生数组中
			Student stu = new Student(strName, strNo, score);
			// 存入学生数组中
			lstStus.add(stu);
		}
	}

	/**
	 * 打印所有的学生信息【成绩从高到低排序】
	 */
	public void printAllStuInfo() {
		if (lstStus != null && lstStus.size() > 0) {
			System.out.println("学生成绩信息：");
			// 打印学生名单中的学生成绩信息
			for (Student stu : lstStus) {
				// 打印每个学生自己的信息
				stu.printMe();
			}
		}
	}

	public ClassMaster() {
		super();
		// 默认的构造方法，初始化List集合
		lstStus = new ArrayList<>();
	}

	public ClassMaster(List<Student> lstStus) {
		super();
		this.lstStus = lstStus;
	}

	public List<Student> getLstStus() {
		return lstStus;
	}

	public void setLstStus(List<Student> lstStus) {
		this.lstStus = lstStus;
	}

}
